import socket


class UDPDemo:
    def run(self):
        """
        ud = UDPDemo()
        ud.run()
        """
        # 1.新建套接字
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        udp_socket.bind(('', 10001))  # 绑定端口

        # 2.收发数据
        udp_data = input("please enter the messege: ")
        udp_addr = ('127.0.0.1', 10001)
        udp_socket.sendto(udp_data.encode('utf-8'), udp_addr)
        udp_recv_data = udp_socket.recvfrom(1024)
        print(udp_recv_data[0].decode('gbk'))
        print(udp_recv_data[1])

        # 3.关闭套接字
        udp_socket.close()


if __name__ == "__main__":
    ud = UDPDemo()
    ud.run()
